﻿//using ImModels.View;
//using Microsoft.AspNetCore.Http;
//using Microsoft.AspNetCore.Mvc;

//namespace ImClientApi.Controllers
//{
//    /// <summary>
//    /// 聊天控制器
//    /// </summary>
//    [Route("api/[controller]/[action]")]
//    [ApiController]
//    public class ChatController : ControllerBase
//    {
//        public string Ip => this.Request.Headers["X-Real-IP"].FirstOrDefault() ?? this.Request.HttpContext.Connection.RemoteIpAddress.ToString();

//        static long websocketIdSeed;

//        /// <summary>
//        /// 理论上在用户登录成功之后 内部就可以直接拿到用户信息并获取WebSocket链接信息
//        /// </summary>
//        /// <param name="websocketId"></param>
//        /// <returns></returns>
//        [HttpPost]
//        public ResView<long> PreConnect([FromForm] long? websocketId)
//        {
//            if (websocketId == null) websocketId = Interlocked.Increment(ref websocketIdSeed);
//            var wsserver = ImHelper.PrevConnectServer(websocketId.Value, this.Ip);
//            return new ResView<long>()
//            {
//                code = 0,
//                msg = wsserver,
//                data = websocketId.Value
//            };
//        }

//        /// <summary>
//        /// 单聊/群聊 消息发送
//        /// </summary>
//        /// <param name="chatMsg"></param>
//        /// <returns></returns>
//        [HttpPost]
//        public ResView<ResView> SendMessage([FromBody] ChatMsgView chatMsg)
//        {
//            if (chatMsg.receiver.type == "friend")//单聊
//            {
//                ImHelper.SendMessage(chatMsg.user.id, new[] { chatMsg.receiver.id }, chatMsg, true);
//            }
//            else if (chatMsg.receiver.type == "group")//群聊
//            {
//                ImHelper.SendChanMessage(0, chatMsg.receiver.id.ToString(), chatMsg);
//            }
//            else if (chatMsg.receiver.type == "broad")//广播
//            {
//                ImHelper.SendChanMessage(0, null, chatMsg);
//            }
//            return new ResView<ResView>()
//            {
//                code = 0,
//                msg = "ok"
//            };
//        }
//    }
//}
